assume cs:code, ds:data, ss:stack

code segment

start:

    mov ax, stack
    mov ss, ax
    mov sp, 16 ; 0 ~ 15

    mov ax, data
    mov ds, ax

    push ds:[0]
    push ds:[2]
    pop ds:[2]
    pop ds:[0]

    mov ax, 4c00h
    int 21h

code ends

data segment
    dw 0123h, 0456h
data ends

stack segment
    dw 0, 0
stack ends

end start